# -*- coding:utf-8 -*-
"""
Author：Administrator
Date:2022年01月20日
"""
from pypinyin import lazy_pinyin
import requests
from lxml import etree

城市名称=input('请输入城市名称:')
列表=lazy_pinyin(城市名称,style=0)
城市名称en=''.join(列表)
网址=f'https://www.tianqi.com/{城市名称en}/'
UA伪装 = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}
响应数据=requests.get(url=网址,headers=UA伪装).text
解析=etree.HTML(响应数据)
城市名称=解析.xpath('//dd[@class="name"]/h1/text()')[0]
时间日期=解析.xpath('//dd[@class="week"]/text()')[0]
天气=解析.xpath('//dd[@class="weather"]//span/b/text()')[0]
全天温度=解析.xpath('//dd[@class="weather"]//span/text()')[0]
现在温度=解析.xpath('//p[@class="now"]/b/text()')[0]
其它信息=解析.xpath('//dd[@class="shidu"]/b/text()')
其它信息=','.join(其它信息)
空气质量=解析.xpath('//dd[@class="kongqi"]/h5/text()')[0]
PM=解析.xpath('//dd[@class="kongqi"]/h6/text()')[0]
PM=PM.split(': ')[-1]
日出日落=解析.xpath('//dd[@class="kongqi"]/span/text()')
日出日落=','.join(日出日落)
print(城市名称,时间日期)
print(f'{天气},{现在温度}℃,全天温度{全天温度}')
print(其它信息)
print(空气质量,"PM2.5:",PM)
print(日出日落)
确认=input(f"是否继续查询{城市名称}近3日天气预报,是/否:")
if 确认== '是' or 确认=='Y' or 确认=='y':
	while True:
		天数=input("只能说查询3天,7天,10天,15天和30天,请输入对应数字:")
		if 天数 in ["3","7","10","15","30"]:
			网址=f"https://www.tianqi.com/{城市名称en}/{天数}/"
			响应数据 = requests.get(url=网址, headers=UA伪装).text
			解析 = etree.HTML(响应数据)
			日期=解析.xpath('//div[@class="weaul_q weaul_qblue"]/span/text()')
			日期= [' '.join(日期[i:i+2]) for i in range(0,len(日期),2)]
			日期2 = 解析.xpath('//div[@class="weaul_q"]/span/text()')
			日期2= [' '.join(日期2[i:i+2]) for i in range(0,len(日期2),2)]
			日期=日期+日期2
			天气=解析.xpath('//div[@class="weaul_z"]//text()')
			天气= [天气[i]+','+''.join(天气[i+1:i+5]) for i in range(0,len(天气),5)]
			for i in range(len(日期)):
				print(f"{日期[i]};{天气[i]}")
			break
		else:
			print('输入错误,请重新输入!')



